/* WS 消息处理逻辑  只负责消息的路由和处理 */
const wsService = require('./wsService');

const wsController = {
  handleMessage(ws, message, req) {
    try {
      // 解析客户端发送的消息
      const data = JSON.parse(message);

      // 根据消息类型调用相应的服务逻辑
      switch (data.type) {
        case 'logout':
          wsService.handleLogout(data.userId, data.timestamp)
          break;
        case 'canvasFingerprint':
          wsService.handleCanvasFingerprint(ws, data, req);
          break;
        default:
          ws.send(JSON.stringify({ status: 'error', message: '未知的消息类型' }));
      }
    } catch (error) {
      console.error('消息解析失败:', error);
      ws.send(JSON.stringify({ status: 'error', message: '消息格式错误' }));
    }
  },
};

module.exports = wsController;